Git .gitattributes

ফাইলগুলি কীভাবে Git পরিচালনা করবে তা নিয়ন্ত্রণ করুন

.gitattributes কি?

.gitattributes ফাইল হল আপনার রিপোজিটরিতে নির্দিষ্ট ফাইলগুলি কীভাবে Git পরিচালনা করবে তা বলে এমন একটি বিশেষ ফাইল।

এটি লাইন এন্ডিং, ফাইল টাইপ, মার্জ আচরণ, কাস্টম diff টুলস এবং আরও অনেক কিছু নিয়ন্ত্রণ করে।

এই ফাইল আপনার প্রজেক্টের সাথে ভার্সন করা হয় বলে, আপনার টিমের সবার কাছে একই সেটিংস থাকে।

💡 নোট:

Git LFS সম্পর্কে আরও তথ্যের জন্য, ডেডিকেটেড পেজ দেখুন।

.gitattributes কখন ব្যবহार করতে হবে

লাইন এন্ডিংস

বিভিন্ন অপারেটিং সিস্টেমে সামঞ্জস্যপূর্ণ লাইন এন্ডিং প্রয়োগ করুন

বাইনারি ফাইলকল

ফাইলকল বাইনারি হিসেবে চিহ্নিত করুন (Git অবরর merge চযয অললত পরিবর্তন মযরচককত)

Git LFS

বড় ফাইলকলকক Git LFS-ঐ চালান

কাস্টম টুলস

চরপপ ফাইল বককলকক কাস্টম diff বা merge টুলস সেট করুন

1

.gitattributes তৈরি করুন অললত সংশোধন করুন

আপনার রিপোজিটরির রুটে যান (বা লোকাল রুলের জন্য একটি সাবডিরেক্টরিতে)।

.gitattributes ফাইল তৈরি বা সম্পাদনা করুন।

ফাইলকল Git কিভাবে কযল বণটম এনপতরকন নিয়মগুলিকে, ওর লাইনকক একসাথে যোগ করুন.

উদাহরণ: অনতত উর ফাইলকলককম Unix লাইন এন্ডিংস কার্যকর করুন

*.txt text eol=lf
2

লাইন এন্ডিংস পরিচালনা করুন

বিভিন্ন OS-তে merge conflicts মররম উটনত ফাইলকলত এড়ান লাইন এন্ডিংস স্ট্যান্ডার্ডাইজ করুন.

উদাহরণ: শেল স্ক্রিপ্টগুলির জন্য LF সেট করুন

*.sh text eol=lf
3

ফাইলকল বাইনারিযকক করককবম

এনত ফাইলকল বাইনারি (টেক্সট নয়) তা Git-কক চললবম.

ইনত ফাইলকলকক Git merge চযয অললত লাইন এন্ডিংসকে পরিবর্তন মযরচপপত এটি বিরত রাখে.

উদাহরণ: PNG ফাইলকল বাইনারিযকক করককবম

*.png binary
4

ফাইল বককলকক LFS সক্ষম করুন

ছবি বা ডেটাসেটের মতো বড় ফাইলকলকক Git LFS ব্যবহর করুন.

ইনত ফাইলকলকক LFS-ঐপ ব্যবহার করুন এটি Git-কে বলে:

উদাহরণ: PSD ফাইলকল LFS-উটন ট্র্যাক করুন

*.psd filter=lfs diff=lfs merge=lfs -text
5

তনপপযন Diff সেটিংকল

করপপটট ফাইল বককল (Markdown অললত Jupyter notebooks এর মতো) ওপপট ওর চরপপক করবযপ ব্যবহার করুন Git-কক চললবম:

উদাহরণ: Markdown-কক তনপপযন Diff

*.md diff=markdown
6

Attributes-ঐচ পরীক্ষা করুন

ওর ফাইলকক এনন attributes সেট করুনপপটটললন এনপতপ পরককবম:

উদাহরণ: ওর কপপন Attributes-ঐচ পরীক্ষা করুন

git check-attr --all README.md

উন্নত পযনপট

Merge উততকল

চককলন ফাইলকলকক (lock ফাইলকল অললত notebooks এর মতো) তনপপযন merge drivers-ঐ সেট করুন.

Export-ignore

git archive তৈরি করুনয tar/zip কপপকংকলল ইরনত ফাইলকল বলককবম:

docs/* export-ignore

হেল্পকনোটকল & চরনত নটমরকল

1

Patterns

প্যাটার্নগুলি .gitignore-এর মতো কাজ করে (ওয়াইল্ডকার্ড, এর মতো).

2

তণঅটবকল

অংক মটটম পরনতম বতকলকক .gitattributes-ঐ তণঅটবকলল বককবম.

3

পননকক চর চযযত

.gitattributes-ঐ পরিবর্তনবত এরকনব কমিট চযযপপটট ফাইলকল পননকক চর চযযত—অবররপ পতপপকক ফাইলকল মণটম যোগ করুন.

4

পলতসংশোধনম

Attribute চককলকল পলতঅ্যামেন্ড git check-attr ব্যবহার করুন.

📝 নোট:

.gitattributes উংকল তটটততটন version চযযপপটকরত, এনব উংকল টিমবল উলল অনবরককম ওর সেটিংকল কটককম.

বরব নোট

লাইন এন্ডিংস

Unix লাইন এন্ডিংস

*.txt text eol=lf

বাইনারি ফাইলকল

বাইনারি ফাইলকলক করককবম

*.png binary

Git LFS

বড় ফাইলকলকক LFS

*.psd filter=lfs

Attributes-ঐচ পরীক্ষা করুন

ফাইল attributes-ঐচ পরীক্ষা করুন

git check-attr